package cn.zjyj.module.zjyj.controller.admin.deviceinstance.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 设备实例新增/修改 Request VO")
@Data
public class DeviceInstanceSaveReqVO {

    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2805")
    private Long id;

    @Schema(description = "设备id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31789")
    @NotNull(message = "设备id不能为空")
    private Long deviceId;

    @Schema(description = "设备编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "设备编码不能为空")
    private String code;

    @Schema(description = "采购时间", requiredMode = Schema.RequiredMode.REQUIRED)
    //(message = "采购时间不能为空")
    private LocalDateTime procurementTime;

    @Schema(description = "设备拥有者id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8195")
    @NotNull(message = "设备拥有者id不能为空")
    private Long ownerId;

    @Schema(description = "标签", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "标签不能为空")
    private String tag;

    @Schema(description = "投入时间", requiredMode = Schema.RequiredMode.REQUIRED)
    //(message = "投入时间不能为空")
    private LocalDateTime usageTime;

    @Schema(description = "单元id", requiredMode = Schema.RequiredMode.REQUIRED, example = "17055")
    @NotNull(message = "单元id不能为空")
    private Long unitId;

    @Schema(description = "部门id", requiredMode = Schema.RequiredMode.REQUIRED, example = "5976")
    @NotNull(message = "部门id不能为空")
    private Long departmentId;

}